﻿

//本文件用来测试各功能及最终游戏运行



#include<locale.h>
#include"Snake.h"
void test() {
//创建贪吃蛇
	Snake  snake = { 0 }; //贪吃蛇结构体变量，初值全设为0
	char ch = 0;
	do {
		//游戏开始  初始化游戏 欢迎界面，功能介绍，地图绘制，初始化贪吃蛇并打印
		GameStart(&snake);

		//游戏运行   右侧功能提示，计分显示，贪吃蛇移动，吃食物
		GameRun(&snake);

		//游戏结束    显示结束原因，销毁贪吃蛇链表
		GameEnd(&snake);

		SetPos(20, 16);
		printf("是否再来一局？（是Y/否N）");
		ch = getchar();
		//getchar();//如果没有这个getchar() 在上一次输入一个字符给ch时，按的回车会被记录下来，第二次ch的值自动为回车即'\n',会自动结束再一次游戏的选择
		     //通过这个getchar会把上一次留下的回车键给清理掉
		while (getchar() != '\n'); //可以解决一次性输入了多个字符情况

	} while (ch == 'Y' || ch == 'y');   //输入Y或y时，游戏重新开始
	
}


int  main() {
//setlocale函数 完成地区设置，将当前c语言运行环境本地化，默认是英语环境，修改为中文环境，这样才能够通过wprintf打印宽字符
 //char* setlocale (int category, const char* locale); 
//第一个参数是类项，可以修改部分差异；第二个参数有两种 "C"是默认 ""是切换到本地模式，当第二个参数为NULL时，返回值是当前模式

	//设置本地模式   从而支持后续打印宽字符
	setlocale(LC_ALL, "");
	test();

	//结束后定位光标，打印 请按任意键继续...
	SetPos(60, 26);
	system("pause");
	return 0;
}